GSoC23 — Workweek 3

Introduction

As announced in last week's blog post, I didn't have much time allocated for GSoC this week. Therefore, this blog post is a short one. Nevertheless, I have one topic to talk about.

The specify Mystery

In the last blog post, I wondered why there were no specify blocks in the SKY130 PDK.

I even went so far as to suggest that the celldefine and endcelldefine directives have implications regarding modpaths within cell modules.

But it's actually much simpler than that: the PDK provided by open_pdks is prepared in a way that makes it suitable for all open source tools that need to work with it. Due to a problem with some statements in the specify blocks in conjunction with Icarus Verilog, they were simply omitted from the generated PDK.

Thus fixing at least the parsing part of these statements would allow all specify blocks to be included in the PDK by default. This would simplify a lot of things and is needed anyways for SDF simulations with SKY130, so I put it high on my to-do list.

Summary

All in all, an uneventful week. Hopefully I'll have more to share in the next blog post!